home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / print / isigns50.zip / SIGNS.WS (.txt) < prev    next >
WordStar Document  |  1989-10-01  |  23KB  |  220 lines

  1.                                   SIGNS.DOC
  2.                                  Version 5.0
  3.  
  4.                               by Robert W. Bloom
  5.                                   26 Sep 89
  6.  
  7. Release Notice:
  8.  
  9.     Signs and all associated files (Signs, MkFntNdx, font files, etc.) are freely released to the public for non-profit use.  If anybody's going to profit, it should be me!  Anywhat, this is my contribution for all the great programs I've received from the pipeline.  Thanks guys!
  10.  
  11.  
  12. Revision History:
  13.  
  14. Signs:
  15.     1.x - March 86, first versions, menu driven.  GSigns created.
  16.     2.x - May 86, all screen oriented.
  17.     3.x - Jun 86, bit mapped font files, released w/MakeFont Version 2.0.  New features: inverse video, user changeable single block character, inter- character spacing, block_char used for fill in inverse video.
  18.     4.x - Oct 86, added bit-mapped output, Library released with 3 font files (font1, font2, gothfont), MS-DOS version released and patched so that 'Gothfont' fit.
  19.     4.2 - Aug 89, patched to compile with TurboPascal v5.0.
  20.     5.0 - Sep 89, Redesign of font file interface to use HP LaserJet font files, elimination of MakeFont and Generic versions for CP/M, addition of a font index file generator, expanded Epson printer support.  Converted old font files into HP LaserJet-compatible font files.  TurboPascal v5.0 specific.
  21.  
  22.     Older versions are still workable, but why bother.  Though I still have my CP/M machine, it doesn't get turned on much.  
  23.  
  24. Background:
  25.  
  26.     I was never happy with the sign- and banner-making programs available for CP/M.  Sure there were a number of good ones, specially 'GOTHIC,' but none have enough variability to suit me.  By variability, I mean the capability to change sizes, fonts, and paper positioning to create whatever I wanted.  What I really wanted was a 'Print Shop' for CP/M-80.  Alas, it's not available and it looks as if no one is developing any new stuff for my (old) favorite OS.
  27.  
  28.     I though the problem was solved when I ran across a set of two programs by Ken Crook in Pascal.  I was just learning Pascal, so I thought this would be a good way to get some fun education.  Unfortunately, the program was not written very well - although some good options were present, I couldn't even compile the programs (called 'sign' and 'banner') as they wouldn't fit in memory.  (CP/M-80, TurboPascal v3.01, 63k, error messages off.)  The main problem was that all of the character fonts were held in memory at one time.  Even eliminating all the symbols and keeping just numbers and upper case letters yielded a com file of 36k.  (Besides, input was taken from a file not the console, which was a pain.)
  29.  
  30.  
  31. Features:
  32.  
  33.     So I decided to start over and write my own.  Major features of my program are:
  34.  
  35.         - Fonts are held in an external HP LaserJet-compatible 'soft' font file which is read by random access methods.  It reads only the required characters into memory when they are needed.  An index to the font file is required (contains character descriptor data and pointers into the HP file) which is created by the separate program MkFntNdx.
  36.  
  37.         - Signs and Banners are made by changing an option.  They may be output to the console, a file, or lst: device (printer).  Lots of other options are available.  (see below)
  38.  
  39.         - Any HP LaserJet-compatible 'soft' portrait font may be used.  Because of the very-high resolution 300dpi of the LaserJet, many soft fonts will be 'too big' for screen output.  I.e., each dot is turned into a character position limiting screen output to 80 'dots' wide.  To remedy this, two font sets are supplied: one with characters that are up to 12 units high counting a two block descender and up to 10 blocks wide; and one which is four times wider and twice as high.  Both are proportionally spaced.  The smaller of the two is readable only with a magnifying glass if actually downloaded to LaserJet - but it works fine with Signs.
  40.  
  41.         - Font editors are *not* supplied, editing an HP font file is a very tricky business.  'AlterFnt' and 'QFont' are two shareware-available editors available.  Many soft fonts are also available.  I designed one of supplied fonts, a friend (RK Sparks) did the other.
  42.  
  43.         - Four printers are supported: IDS, Epson, HP and 'dumb'.  Dumb printers can't output in graphics dot-mode.  There are four graphic output densities for the HP and Epson.
  44.  
  45.         - If printing, one can change the cpi and lpi from the menu which automatically adjusts the printer.  Input lines are checked to see if they will fit.  Normal (80) and wide (132) terminals, as well as small (8") and large (14") printers are correctly handled.  The user can even request output in "reverse video" (White letters, black background instead of black letters on a white background.)
  46.  
  47.         - The letters of the output sign/banner can be made of the letter itself, any single character, a 'overstrike' block to make a nice black solid block or individual dots using the graphics mode of the printer.  (Naturally the graphics dot-mode will create much smaller letters and is strongly printer dependent.  
  48.  
  49.     I think you'll find that the program is self-explanatory.  Once selected, a option does not change until manually changed.  This allows changing just one option quickly.  Some options eliminate others.
  50.  
  51.  
  52. Files:
  53.  
  54.     READ.ME - introduction to signs.
  55.     RWBFONT.FNT, RKSFONT.FNT - HP LaserJet compatible soft font files
  56.     RWBFONT.FNX, RKSFONT.FNX - index to above created by MkFntNdx and used by Signs.
  57.     MkFntNdx.PAS - (Make Font Index) source code for font index generator - asks for input filenames.  
  58.     SIGNS.PAS - source code for sign generator.  Also calls the include files: CONST.PAS, ASK.PAS, DISP.PAS, PRT.PAS, UTIL.PAS
  59.     SIGNS.IN - sample file input, contains all printable characters.
  60.     SIGNS.OUT - sample output file from signs.in
  61.     SIGNS.DOC - this file.
  62.     SIGNS.EXE, MKFNTNDX.EXE - executables
  63.     PRINTER2.PAS, PRINTER2.TPU - TurboPascal v5 fix for LST output
  64.  
  65. Compiling:
  66.  
  67.     TurboPascal v 5.0 was used to compile the program, using the CRT and PRINTER2 'use' units.  A installed Ansi driver is required for the low/high video calls.
  68.  
  69.     I found a bug in TurboPascal v5.0: the default 'printer' unit in TURBO.TPL will not output a CHR(26) which is needed when one outputs graphics.  Borland provided the 'printer2' public domain unit which fixes the problem.  This problem was not in TurboPascal v3.
  70.  
  71. Running:
  72.  
  73.     As a minimum, one needs to have the following files in the default directory: Signs.exe, one HP LaserJet-compatible soft font file, and a index to the font file (created by mkfntndx.exe.)
  74.  
  75. Notes:
  76.  
  77.     - some options are disabled with other options.  For instance, if one selects console output, you don't see any printer options.  Or if you enter a given left margin to use, the output centering option is disabled.  (To center the output after zeroing a previously-given left margin, one has to manually enter 'y' to centering as a non-zero left margin sets centering to 'no'.)  Non-applicable menu items are not displayed.
  78.  
  79.     - beware of hardware differences in printers.  If in doubt, make the printer type 'dumb' and avoid bit-mapped graphics output.
  80.  
  81.     - Outputting to a file automatically sets the line width to the maximum.  You probably will want to reduce it to something reasonable - especially if you ask for auto-centering.
  82.  
  83. Options:
  84.  
  85. Upon entry to the program one is placed directly in "change parameters" mode.  A options menu is shown:  (The actual menu will have inappropriate entries missing, they will appear as they become pertinent.)
  86.  
  87. Signs Version: v5.0, 10 Sep 89                            Mode: Change Parms
  88.                                                                                 
  89. ------------------------ Options and I/O Parameters -------------------------- 
  90. T-         Sign type -> Sign            I-      Input Device -> File            
  91. B- Block/Letter type -> Letters         R-  FileName to Read -> Signs.in        
  92. F-         Font File -> Font.usp        N-  Number of Copies -> 1               
  93. W-  Width Multiplier -> 1               O-     Output device -> Printer         
  94. H- Height Multipli